/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;

import connection.Connection;
import dao.EvaluadorJpaController;
import dao.ExperiencialaboralJpaController;
import dao.exceptions.PreexistingEntityException;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.html.HtmlDataTable;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManagerFactory;
import modelo.Evaluador;
import modelo.Experiencialaboral;
import modelo.ExperiencialaboralPK;

/**
 *
 * @author Fabian
 */
@ManagedBean(name = "ControladorExpLaboral")
@SessionScoped
public class ControladorExperienciaLaboral {

    private List<Experiencialaboral> experiencia;
    private HtmlDataTable tabla;
    public EntityManagerFactory factory;
    private Evaluador evaluador;
    private Experiencialaboral expLaboral;
    private ExperiencialaboralPK pk;
    private String txtCorreojefe;
    private Date txtFechaInicio;
    private Date txtFechaFin;
    private String txtTelefonoEmpresa;
    private String txtTelefonoJefe;
    private String txtJefe;
    private String txtCargo;
    private String txtEmpresa;
private ExperiencialaboralJpaController daoExpLaboral;
    public ControladorExperienciaLaboral() {
    }

    public List<Experiencialaboral> getExperiencia() {
        return experiencia;
    }

    public void setExperiencia(List<Experiencialaboral> experiencia) {
        this.experiencia = experiencia;
    }

    public HtmlDataTable getTabla() {
        return tabla;
    }

    public void setTabla(HtmlDataTable tabla) {
        this.tabla = tabla;
    }

    public Evaluador getEvaluador() {
        return evaluador;
    }

    public void setEvaluador(Evaluador evaluador) {
        this.evaluador = evaluador;
    }

    public Experiencialaboral getExpLaboral() {
        return expLaboral;
    }

    public void setExpLaboral(Experiencialaboral expLaboral) {
        this.expLaboral = expLaboral;
    }

    public ExperiencialaboralPK getPk() {
        return pk;
    }

    public void setPk(ExperiencialaboralPK pk) {
        this.pk = pk;
    }

    public void cargarExperiencia() {

        factory = Connection.getEmf();
        ExperiencialaboralJpaController daoExperiencia = new ExperiencialaboralJpaController(factory);
        EvaluadorJpaController daoEvaluador = new EvaluadorJpaController(factory);
        Evaluador e = (Evaluador) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("ControladorEvaluador");
        String Aux = e.getCedula();
        setEvaluador(daoEvaluador.findEvaluador(Aux));
        List<Experiencialaboral> levaluador = daoExperiencia.findExperiencialaboralEntities();
        List<Experiencialaboral> Final = null;
        for (int i = 0; i < levaluador.size(); i++) {

            if (levaluador.get(i).getEvaluador().getCedula().equals(Aux)) {

                Final.add(levaluador.get(i));
            }
        }
        setExperiencia(Final);

    }

    public void crearExperiencia() {
        factory = Connection.getEmf();
        ExperiencialaboralJpaController daoExperiencia = new ExperiencialaboralJpaController(factory);
        Experiencialaboral nueva = null;
        ExperiencialaboralPK PK = null;
        PK.setCargo(txtCargo);
        PK.setCedulaevaluador(getEvaluador().getCedula());
        PK.setEmpresa(txtEmpresa);
        nueva.setExperiencialaboralPK(PK);
        nueva.setEvaluador(getEvaluador());
        nueva.setCorreojefe(txtCorreojefe);
        nueva.setFechainicio(txtFechaInicio);
        nueva.setFechafin(txtFechaFin);
        nueva.setTelefonoempresa(txtTelefonoEmpresa);
        nueva.setTelefonojefe(txtTelefonoJefe);
        nueva.setJefe(txtJefe);


        try {
            daoExperiencia.create(nueva);
        } catch (PreexistingEntityException ex) {
            Logger.getLogger(ControladorExperienciaLaboral.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(ControladorExperienciaLaboral.class.getName()).log(Level.SEVERE, null, ex);
        }


    }
 public void cargarTablaEcperienciaLaboral() {
        factory = Connection.getEmf();
        daoExpLaboral = new ExperiencialaboralJpaController(factory);
        setExperiencia(daoExpLaboral.findExperiencialaboralEntities());
           }
    public void editarExperiencia() {

        ExperiencialaboralPK r = getPk();
        Experiencialaboral reemplazo = getExpLaboral();
        ExperiencialaboralJpaController daoExperiencia = new ExperiencialaboralJpaController(factory);
        Experiencialaboral cambio = daoExperiencia.findExperiencialaboral(r);
        cambio.setCorreojefe(reemplazo.getCorreojefe());
        cambio.setFechafin(reemplazo.getFechafin());
        cambio.setFechainicio(reemplazo.getFechainicio());
        cambio.setJefe(reemplazo.getJefe());
        cambio.setTelefonoempresa(reemplazo.getTelefonoempresa());
        cambio.setTelefonojefe(reemplazo.getTelefonojefe());


    }
}
